<template>
    <div class="wscn-http404-container">
        <div class="wscn-http404">
            <div class="pic-404">
                <div class="pic-404__parent">
                    <div class="pic-404__image">
                        <span class="pic-404__text">404</span>
                    </div>
                </div>
            </div>
            <div class="bullshit">
                <div class="bullshit__oops">页面走丢了...</div>
                <div class="bullshit__headline">{{ message }}</div>
                <div class="bullshit__info">请检查您输入的URL是否正确，或者点击下方按钮返回首页</div>
                <router-link to="/" class="bullshit__return-home">返回首页</router-link>
            </div>
        </div>
    </div>
</template>

<script>
export default {
    name: 'Page404',
    computed: {
        message() {
            return '很抱歉，您访问的页面不存在...'
        }
    }
}
</script>

<style lang="scss" scoped>
.wscn-http404-container {
    transform: translate(-50%, -50%);
    position: absolute;
    top: 40%;
    left: 50%;
}

.wscn-http404 {
    position: relative;
    width: 1200px;
    padding: 0 50px;
    overflow: hidden;

    .pic-404 {
        position: relative;
        float: left;
        width: 600px;
        overflow: hidden;

        &__parent {
            width: 100%;
        }

        &__image {
            position: relative;
            display: flex;
            justify-content: center;
            align-items: center;
            height: 360px;
            background-color: #f3f3f3;
            border-radius: 20px;
            box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
        }

        &__text {
            font-size: 120px;
            font-weight: bold;
            color: #1482f0;
            opacity: 0.8;
            text-shadow: 2px 2px 0 #fff, 4px 4px 0 #1482f0;
        }
    }

    .bullshit {
        position: relative;
        float: left;
        width: 300px;
        padding: 30px 0;
        overflow: hidden;

        &__oops {
            font-size: 32px;
            font-weight: bold;
            line-height: 40px;
            color: #1482f0;
            opacity: 0;
            margin-bottom: 20px;
            animation-name: slideUp;
            animation-duration: 0.5s;
            animation-fill-mode: forwards;
        }

        &__headline {
            font-size: 20px;
            line-height: 24px;
            color: #222;
            font-weight: bold;
            opacity: 0;
            margin-bottom: 10px;
            animation-name: slideUp;
            animation-duration: 0.5s;
            animation-delay: 0.1s;
            animation-fill-mode: forwards;
        }

        &__info {
            font-size: 13px;
            line-height: 21px;
            color: grey;
            opacity: 0;
            margin-bottom: 30px;
            animation-name: slideUp;
            animation-duration: 0.5s;
            animation-delay: 0.2s;
            animation-fill-mode: forwards;
        }

        &__return-home {
            display: block;
            float: left;
            width: 110px;
            height: 36px;
            background: #1482f0;
            border-radius: 100px;
            text-align: center;
            color: #ffffff;
            opacity: 0;
            font-size: 14px;
            line-height: 36px;
            cursor: pointer;
            animation-name: slideUp;
            animation-duration: 0.5s;
            animation-delay: 0.3s;
            animation-fill-mode: forwards;
        }

        @keyframes slideUp {
            0% {
                transform: translateY(60px);
                opacity: 0;
            }

            100% {
                transform: translateY(0);
                opacity: 1;
            }
        }
    }
}

// 响应式处理
@media (max-width: 1200px) {
    .wscn-http404 {
        width: 100%;

        .pic-404 {
            width: 50%;
        }

        .bullshit {
            width: 50%;
        }
    }
}

@media (max-width: 768px) {
    .wscn-http404 {
        width: 100%;
        padding: 0 20px;

        .pic-404 {
            display: none;
        }

        .bullshit {
            width: 100%;

            &__headline {
                font-size: 18px;
            }

            &__oops {
                font-size: 26px;
            }
        }
    }
}
</style>